<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <title>client</title>
    <meta name="generator" content="muse.el">
    <meta http-equiv="Content-Type"
          content="text/html; charset=utf-8">
    <style type="text/css">
body {
  background: white; color: black;
  margin-left: 3%; margin-right: 7%;
}

p { margin-top: 1% }
p.verse { margin-left: 3% }

.example { margin-left: 3% }

h2 {
  margin-top: 25px;
  margin-bottom: 0px;
}
h3 { margin-bottom: 0px; }
    </style>
  </head>
  <body>
    <h1>client</h1>
    <!-- Page published by Emacs Muse begins here -->
<h2>Клиент</h2>

<ul>
<li>демон</li>
<li>запускается на компьютере с выделенным IP</li>
<li>слушает порты</li>
<li>читает параметры из конфиг-файла</li>
<li>к нему подключены несколько Lego установок</li>
</ul>


<h3>Функции демона</h3>

<ol>
<li>Обмен данными с Lego установками: <a href="protokol.html">protokol</a></li>
<li>Обмен данными с Cервером: <a href="protokol.html">protokol</a></li>
<li>Логирование</li>
</ol>



<h3>Логирование</h3>

<p class="first">Данные логируются в таблицы mySQL:</p>

<ul>
<li>experiment_12_read</li>
<li>experiment_12_write</li>
</ul>



<h3>Структура данных клиента</h3>

<ol>
<li>Хеш-список Lego:
Lego{'имя установки'} = данные, необходимые для связи с установкой
имя установки &mdash; 16 байт</li>
<li>Данные из конфиг файла</li>
<li>Очередь команд для каждого Lеgо (+ выделить алгоритм для обслуживания)</li>
</ol>

<pre class="example">

      *----------------*   *------*   *---------------------*
  ---&gt;| Очередь команд |--&gt;| Lego |--&gt;| Получение timestamp |
      *----------------*   *------*   *---------------------*
                                                 |
                       *---------------------*   |
                  БД&lt;--| Формирование пакета |&lt;--*
                       *---------------------*
                          |            |
                      *------*         |
                      | порт |         |
                      | UPD  |    *----------------------*
                      *------*    | Очередь для отправки |
                                  | по протоколу TCP/IP  |
                                  *----------------------*
                                       |
                                   *------*
                                   | Порт |
                                   | TCP  |
                                   *------*

</pre>



<h3>Конфиг файл</h3>

<ol>
<li>Имя клиента (16 байт)</li>
<li>Адрес сервера IP</li>
<li>порт сервера для TCP</li>
<li>порт сервера для UDP</li>
<li>Имена Lego установок</li>
<li>Данные для связи с БД (вкл. то, что нужно для имен таблиц)</li>
</ol>




<!-- Page published by Emacs Muse ends here -->
  </body>
</html>
